package com.obixlabs.kalua.domainmodel.catalogue;

import java.time.Instant;
import java.util.List;
import java.util.Map;

public class CatalogueEditionImpl implements CatalogueEdition {

	private CatalogueEditionId id;
	private String description;
	private Instant publishedDate;
	private Map<Category, List<CatalogueItem>> entries;

	private CatalogueEditionImpl() {}
	
	public CatalogueEditionImpl(	CatalogueEditionId id, 
													String description,
													Instant publishedDate,
													Map<Category, List<CatalogueItem>> entries) {
		this();
		setId(id);
		setDescription(description);
		setPublishedDate(publishedDate);
		setEntries(entries);
	}

	@Override
	public CatalogueEditionId getId() { return this.id; }
	private void setId(CatalogueEditionId id) { this.id = id; }

	@Override
	public String getDescription() { return this.description; }
	private void setDescription(String description) { this.description = description; }
	
	@Override
	public Instant getPublishedDate() { return this.publishedDate; }
	private void setPublishedDate(Instant publishedDate) 	{ this.publishedDate = publishedDate; }
	
	@Override
	public Map<Category, List<CatalogueItem>> getEntries() { return this.entries; }
	private void setEntries(Map<Category, List<CatalogueItem>> entries) 
	{ this.entries = entries; }
}